package com.seckill.trade.service;

import com.seckill.trade.domian.dto.PayOrderFormDTO;
import com.seckill.trade.domian.dto.PlaceOrderDTO;
import com.seckill.trade.domian.dto.SecOrderDTO;
import com.seckill.trade.domian.po.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.seckill.trade.domian.query.OrderRequestQuery;
import com.seckill.trade.domian.vo.OrderConfirmVO;
import com.seckill.trade.domian.vo.PlaceOrderResultVO;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author zsc
 * @since 2025-05-20
 */
public interface IOrderService extends IService<Order> {

    OrderConfirmVO createOrder(OrderRequestQuery orderRequestQuery);

    void seckillOrder(OrderRequestQuery orderRequestQuery);

    PlaceOrderResultVO placeOrder(PlaceOrderDTO placeOrderDTO);

    void processSecOrder(SecOrderDTO secOrderDTO);

    void cancelOrder(Long orderId);

    void payOrder(PayOrderFormDTO payOrderFormDTO);
}
